/**
 * 可以在其他的js文件中使用更新的js语法
 */
require('babel-core/register');
require('babel-polyfill');

/**
 * 定义一个服务器
 */
var Koa = require('koa');
var app = new Koa();

/**
 * 模版
 */
var Pug = require('koa-pug');
var pug = new Pug({
    viewPath: 'api/views', //pug模版存放的目录
    basedir: 'api/views', //extends使用绝对路径时
    app: app // equals to pug.use(app) and app.use(pug.middleware)
});

/**
 * 配置静态访问
 * 只有app/disk目录是可以直接访问的，这样用于引用前端生成的js和css文件
 */

var serve = require('koa-static');
app.use(serve("api/dist"));


/**
 *  路由
 */
var Router = require('koa-router');
var router = new Router();
var server_url = require('../constant/server_url');

//get请求使用ssr
var RootRouter = require('../routes/route');
for (var key in server_url) {
    var mem = server_url[key];
    if (typeof(mem) === 'function') {
        router.get(mem()[0], RootRouter)
    } else {
        router.get(mem, RootRouter)
    }
}

app.use(router.routes());
app.use(router.allowedMethods());


/*
 * 启动服务器
 */
app.listen(8080, () => {
    console.log('serve run on 8080');
})
